Verifying Time Bounds for General Function Pointers

نویسندگان

  • Robert Dockins
  • Aquinas Hobor
چکیده

We develop a logic of explicit time resource bounds for a language with function pointers and semantic assertions. We apply our logic to examples containing nontrivial “higher-order” uses of function pointers and we prove soundness with respect to a standard operational semantics. Our core technique is very compact and may be applicable to other resource bounding problems, and is the first application of step-indexed models in which the outermost quantifier is existential instead of universal. Our results are machine checked in Coq.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Time Bounds for General Function Pointers

We develop a logic of explicit time resource bounds for a language with function pointers and semantic assertions. We apply our logic to examples containing nontrivial “higher-order” uses of function pointers and we prove soundness with respect to a standard operational semantics. Our core technique is very compact and may be applicable to other resource bounding problems, and is the first appl...

متن کامل

A Theory of Termination via Indirection

Step-indexed models provide approximations to a class of domain equations and can prove type safety, partial correctness, and program equivalence; however, a common misconception is that they are inapplicable to liveness problems. We disprove this by applying step-indexing to develop the first Hoare logic of total correctness for a language with function pointers and semantic assertions. In fac...

متن کامل

The Location Linking Concept: A Basis for Verification of Code Using Pointers

Ultimately, any verifying compiler effort needs to be able to verify code that makes use of pointers, though language mechanisms for data abstraction, alias avoidance and control, or disciplined software development techniques may minimize the need for code that is directly based on pointering. It is also clear that the verification machinery of such as compiler must use specifications of compo...

متن کامل

Bounds on the restrained Roman domination number of a graph

A {em Roman dominating function} on a graph $G$ is a function$f:V(G)rightarrow {0,1,2}$ satisfying the condition that everyvertex $u$ for which $f(u) = 0$ is adjacent to at least one vertex$v$ for which $f(v) =2$. {color{blue}A {em restrained Roman dominating}function} $f$ is a {color{blue} Roman dominating function if the vertices with label 0 inducea subgraph with no isolated vertex.} The wei...

متن کامل

Verification of Unloadable C Modules ( Extended

Programs in unsafe languages, like C and C++, may dynamically load and unload modules. For example, some operating system kernels support dynamic loading and unloading of device drivers. This causes specific difficulties in the verification of such programs and modules; in particular, it must be verified that no functions or global variables from the module are used after the module is unloaded...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011